package com.topisv.tms.entity.stock.instorage;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.Version;

import com.topisv.tms.entity.AreaGroup;
import com.topisv.tms.entity.Customers;
import com.topisv.tms.entity.IdEntity;
import com.topisv.tms.entity.User;
import com.topisv.tms.entity.stock.instorage.pre.InstorageBillPre;

/**
 * 入库单
 */
@Entity
@Table(name = "instorage_bill")
public class InstorageBill extends IdEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private String billType;
	
	private String billCode;
	
	private String aboutCode;
	
	private String customerCode;
	
	private String outwarehouseCode;
	
    private String inwarehouseCode;
	
	private Integer boxNum;
	
	private Integer skuNum;
	
	private Integer goodsNum;
	
	private String remarks;
	
	private String status;
	
	private Date createTime;
	
	private String createrUuid;
	
	private String errorFlag;
	
	private String matchFlag;
	private String updateFlag;//对于预约数和实际点收不一致的入库单，是否已做二次入库 1：已处理 0：未处理
	private String syncMdFlag;//是否回传美的 1是0否
	private String printFlag;//是否打印1：是 其他：否
	private int cancelFlag;  // 是否能在特定状态取消 1 可以 0 不能取消
	
	private int version;
	
	private String newstatus;//边收边上架状态
	private int printNum;//打印预约单次数
	private int printYsnum;//打印验收单次数
	private int printSjnum;//打印上架单次数
	
	
	
	public int getCancelFlag() {
        return cancelFlag;
    }

    public void setCancelFlag(int cancelFlag) {
        this.cancelFlag = cancelFlag;
    }

    public int getPrintSjnum() {
		return printSjnum;
	}

	public void setPrintSjnum(int printSjnum) {
		this.printSjnum = printSjnum;
	}

	public int getPrintYsnum() {
		return printYsnum;
	}

	public void setPrintYsnum(int printYsnum) {
		this.printYsnum = printYsnum;
	}

	public int getPrintNum() {
		return printNum;
	}

	public void setPrintNum(int printNum) {
		this.printNum = printNum;
	}

	public String getNewstatus() {
		return newstatus;
	}

	public void setNewstatus(String newstatus) {
		this.newstatus = newstatus;
	}

	@Version
	public int getVersion() {
		return version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

	public String getMatchFlag() {
		return matchFlag;
	}

	public void setMatchFlag(String matchFlag) {
		this.matchFlag = matchFlag;
	}

	public String getErrorFlag() {
		return errorFlag;
	}

	public void setErrorFlag(String errorFlag) {
		this.errorFlag = errorFlag;
	}

	public String getBillType() {
		return billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getBillCode() {
		return billCode;
	}

	public void setBillCode(String billCode) {
		this.billCode = billCode;
	}

	public String getAboutCode() {
		return aboutCode;
	}

	public void setAboutCode(String aboutCode) {
		this.aboutCode = aboutCode;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public String getOutwarehouseCode() {
		return outwarehouseCode;
	}

	public void setOutwarehouseCode(String outwarehouseCode) {
		this.outwarehouseCode = outwarehouseCode;
	}

	public String getInwarehouseCode() {
		return inwarehouseCode;
	}

	public void setInwarehouseCode(String inwarehouseCode) {
		this.inwarehouseCode = inwarehouseCode;
	}

	public Integer getBoxNum() {
		return boxNum;
	}

	public void setBoxNum(Integer boxNum) {
		this.boxNum = boxNum;
	}

	public Integer getSkuNum() {
		return skuNum;
	}

	public void setSkuNum(Integer skuNum) {
		this.skuNum = skuNum;
	}

	public Integer getGoodsNum() {
		return goodsNum;
	}

	public void setGoodsNum(Integer goodsNum) {
		this.goodsNum = goodsNum;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getCreaterUuid() {
		return createrUuid;
	}

	public void setCreaterUuid(String createrUuid) {
		this.createrUuid = createrUuid;
	}

	//dto属性
	private Customers customer;
	
	private AreaGroup inwarehouse;
	
	private AreaGroup outwarehouse;
	
	private User creater;
	
	private InstorageBillPre preBill;//入库预约单

	@Transient
	public Customers getCustomer() {
		return customer;
	}

	public void setCustomer(Customers customer) {
		this.customer = customer;
	}

	@Transient
	public AreaGroup getInwarehouse() {
		return inwarehouse;
	}

	public void setInwarehouse(AreaGroup inwarehouse) {
		this.inwarehouse = inwarehouse;
	}

	@Transient
	public AreaGroup getOutwarehouse() {
		return outwarehouse;
	}

	public void setOutwarehouse(AreaGroup outwarehouse) {
		this.outwarehouse = outwarehouse;
	}

	@Transient
	public User getCreater() {
		return creater;
	}

	public void setCreater(User creater) {
		this.creater = creater;
	}

	@Transient
	public InstorageBillPre getPreBill() {
		return preBill;
	}

	public void setPreBill(InstorageBillPre preBill) {
		this.preBill = preBill;
	}

	public String getUpdateFlag() {
		return updateFlag;
	}

	public void setUpdateFlag(String updateFlag) {
		this.updateFlag = updateFlag;
	}

	public String getSyncMdFlag() {
		return syncMdFlag;
	}

	public void setSyncMdFlag(String syncMdFlag) {
		this.syncMdFlag = syncMdFlag;
	}

	public String getPrintFlag() {
		return printFlag;
	}

	public void setPrintFlag(String printFlag) {
		this.printFlag = printFlag;
	}
	

}